﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using PccCommonForC;
public partial class Manager_User_User : System.Web.UI.Page
{
    protected string pDel_mk = "", pUpd_mk = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["AdminUserID"] == null)
        {
            Response.Write("<script language=javascript>alert('Time is out.');window.open('../Default.aspx','_top');</script>");
            return;
        }
        clsGetMenuAuth clsAuth = new clsGetMenuAuth(Session["AdminUserID"].ToString(), Session["AutID"].ToString(), Session["IsAdmin"].ToString(), Request.QueryString["CodeID"]);
        if (clsAuth.IsDeleteAuth() == true)
            pDel_mk = "Y";
        if (clsAuth.IsUpdateAuth() == true)
            pUpd_mk = "Y";
        if (!IsPostBack)
        {
            if (clsAuth.IsAddAuth() == false)
                btnAdd.Visible = false;
            txtEmail.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('" + btnSearch.ClientID + "').click();return false;}} else {return true}; ");
            txtLogin.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('" + btnSearch.ClientID + "').click();return false;}} else {return true}; ");
            txtName.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('" + btnSearch.ClientID + "').click();return false;}} else {return true}; ");

            BindAuthorityList();
            BinData();
             EnableControl();
        }
       
    }
    private void EnableControl()
    {
        if (Session["IsAdmin"] == "S")
        {
            btnAdd.Enabled = true;
        }
        else
        {
            for (int i = 0; i < grv_Master.Rows.Count; i++)
            {
                //grv_Master.Rows[i].Cells[0].Text = "";
                grv_Master.Rows[i].Cells[1].Text = "";
            }
        }
        
    }
    private void BindAuthorityList()
     {
        clsWebShop cls = new clsWebShop();
        ListItem  item=new ListItem();
        ddlChuDe.DataSource = cls.Get_shr_AuthorityNoneProc().Tables[0];
        ddlChuDe.DataTextField = "AutNm";
        ddlChuDe.DataValueField = "AutID";
        ddlChuDe.DataBind();
        item.Text = "-- Chọn quyền hạn --";
        item.Value = "0";
        ddlChuDe.Items.Insert(0, item);
       
        
        FindValueDLL(ddlChuDe, Request.QueryString["sAutID"]);
     }

    private void FindValueDLL(DropDownList ddl, string value)
    {
        if (value != "" && value != null)
            ddl.Items.FindByValue(value).Selected = true;
    }
    private void BinData()
    {
        PccMsg msg = new PccMsg();
        msg.CreateFirstNode("CusNm", txtName.Text.Trim());
        msg.CreateFirstNode("UserNm", txtLogin.Text.Trim());
        msg.CreateFirstNode("Email", txtEmail.Text.Trim());
        msg.CreateFirstNode("AutID", ddlChuDe.SelectedValue);
        msg.CreateFirstNode("UserID", "0");
        clsWebShop cls = new clsWebShop();
        DataSet ds = null;
        ds=cls.Get_shr_UserCondition(msg.GetXmlStr);
        grv_Master.DataSource = ds;
        grv_Master.DataBind();
       
    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        Response.Redirect("AddUser.aspx?CodeID=" + Request.QueryString["CodeID"]);
    }
    protected void ddlChuDe_SelectedIndexChanged(object sender, EventArgs e)
    {
       
        BinData();
        EnableControl();
    }
    protected void Grv_Product_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        if(e.Row.RowType==DataControlRowType.Header)              
        {
                e.Row.Cells[0].ColumnSpan = 2;
                e.Row.Cells.RemoveAt(1);         
        }
        else if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[1].Attributes.Add("onclick", "if(confirm('Delete???')) return true; return false;");
            //Truong hop xoa
            if (Session["IsAdmin"].ToString() != "S" && pDel_mk != "Y")
            {
                e.Row.Cells[1].Text = "";
                e.Row.Cells[1].Attributes.Add("onclick", "javascript:return false;");
            }
            //Truong hop Update
            if (Session["IsAdmin"].ToString() != "S" && pUpd_mk != "Y")
            {
                e.Row.Cells[0].Text = "";
                e.Row.Cells[0].Attributes.Add("onclick", "javascript:return false;");
            }
        }
      
             

    }
    
    protected void grv_Master_RowCreated1(object sender, GridViewRowEventArgs e)
    {
        for (int i = 0; i < grv_Master.Rows.Count - 1; i++)
        {
            System.Web.UI.WebControls.WebControl myControl = grv_Master.Rows[i].Cells[1];
            myControl.Attributes.Add("onclick", "if(confirm('Delete???')) return true; return false;");
        }

    }
   
    protected void grv_Master_RowDeleting1(object sender, GridViewDeleteEventArgs e)
    {
        clsWebShop cls = new clsWebShop();
        PccMsg msg = new PccMsg();
        msg.CreateFirstNode("UserID", grv_Master.DataKeys[e.RowIndex].Value.ToString());
     
        cls.Del_shr_User(msg.GetXmlStr.ToString());
        ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>alert('Dữ liệu đã cập nhật thành công')</script>");
        BinData();
    }
    protected void btnSearch_Click(object sender, EventArgs e)
    {
        BinData(); EnableControl();
    }

    protected void grv_Master_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_Master.PageIndex = e.NewPageIndex;
        BinData();
    }
}
